Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Disk array controller</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Disk_array_controller"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Disk_array_controller rootpage-Disk_array_controller skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Disk array controller</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<p>A <b>disk array controller</b> is a device that manages the physical <a href="Disk_drives" class="mw-redirect" title="Disk drives">disk drives</a> and presents them to the computer as <a href="Logical_Unit_Number" class="mw-redirect" title="Logical Unit Number">logical units</a>. It often implements <a href="RAID#Hardware-based" title="RAID">hardware RAID</a>, thus it is sometimes referred to as <b>RAID controller</b>. It also often provides additional disk <a href="Cache_(computing)" title="Cache (computing)">cache</a>.
</p><p><i>Disk array controller</i> is often ambiguously shortened to <i><a href="Disk_controller" title="Disk controller">disk controller</a></i> which can also refer to the circuitry responsible for managing internal disk drive operations.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Front-end_and_back-end_side">Front-end and back-end side</h2></div>
<p>A disk array controller provides front-end interfaces and back-end interfaces.
</p>
<ul><li>The back-end interface communicates with the controlled disks. Hence, its protocol is usually <a href="Advanced_Technology_Attachment" class="mw-redirect" title="Advanced Technology Attachment">ATA</a> (a.k.a. PATA), <a href="Serial_ATA" class="mw-redirect" title="Serial ATA">SATA</a>, <a href="SCSI" title="SCSI">SCSI</a>, <a href="Fibre_Channel" title="Fibre Channel">FC</a> or <a href="Serial_Attached_SCSI" title="Serial Attached SCSI">SAS</a>.</li>
<li>The front-end interface communicates with a computer's <a href="Host_adapter" title="Host adapter">host adapter</a> (HBA, Host Bus Adapter) and uses:
<ul><li>one of ATA, SATA, SCSI, FC; these are popular protocols used by disks, so by using one of them a controller may transparently <a href="Emulator" title="Emulator">emulate</a> a disk for a computer.</li>
<li>somewhat less popular dedicated protocols for specific solutions: <a href="FICON" title="FICON">FICON</a>/<a href="ESCON" title="ESCON">ESCON</a>, <a href="ISCSI" title="ISCSI">iSCSI</a>, <a href="HyperSCSI" title="HyperSCSI">HyperSCSI</a>, <a href="ATA_over_Ethernet" title="ATA over Ethernet">ATA over Ethernet</a> or <a href="InfiniBand" title="InfiniBand">InfiniBand</a>.</li></ul></li></ul>
<p>A single controller <i>may</i> use different protocols for back-end and for front-end communication. Many enterprise controllers use FC on front-end and SATA on back-end.
</p>
<div class="mw-heading mw-heading2"><h2 id="Enterprise_controllers">Enterprise controllers</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1236090951">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="Disk_array" title="Disk array">Disk array</a></div>
<p>In a modern enterprise architecture disk array controllers (sometimes also called <b>storage processors</b>, or <b>SPs</b><sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>) are parts of physically independent <a href="Disk_enclosure" title="Disk enclosure">enclosures</a>, such as <a href="Disk_array" title="Disk array">disk arrays</a> placed in a <a href="Storage_area_network" title="Storage area network">storage area network</a> (SAN) or <a href="Network-attached_storage" title="Network-attached storage">network-attached storage</a> (NAS) <a href="Server_(computing)" title="Server (computing)">servers</a>.
</p><p>Those external disk arrays are usually purchased as an integrated subsystem of RAID controllers, disk drives, power supplies, and management software. It is up to controllers to provide advanced functionality (various vendors name these differently):
</p>
<ul><li>Automatic <a href="Failover" title="Failover">failover</a> to another controller (transparent to computers transmitting data)</li>
<li>Long-running operations performed without <a href="Downtime" title="Downtime">downtime</a>
<ul><li>Forming a new RAID set</li>
<li>Reconstructing <i>degraded</i> RAID set (after a disk failure)</li>
<li>Adding a disk to online RAID set</li>
<li>Removing a disk from a RAID set (rare functionality)</li>
<li>Partitioning a RAID set to separate volumes/LUNs</li></ul></li>
<li><a href="Snapshot_(computer_storage)" title="Snapshot (computer storage)">Snapshots</a></li>
<li><a href="Business_continuance_volume" title="Business continuance volume">Business continuance volumes</a> (BCV)</li>
<li><a href="Disk_mirroring" title="Disk mirroring">Replication</a> with a remote controller....</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Simple_controllers">Simple controllers</h2></div>

<p>A simple disk array controller may fit inside a computer, either as a <a href="Peripheral_Component_Interconnect" title="Peripheral Component Interconnect">PCI</a>/<a href="PCIe" class="mw-redirect" title="PCIe">PCIe</a> <a href="Expansion_card" title="Expansion card">expansion card</a> or just built onto a <a href="Motherboard" title="Motherboard">motherboard</a>. Such a controller usually provides <a href="Host_adapter" title="Host adapter">host bus adapter</a> (HBA) functionality itself to save physical space. Hence it is sometimes called a <b>RAID adapter</b>.
</p><p>As of February&nbsp; 2007 <a href="Intel" title="Intel">Intel</a> started integrating their own <a href="Intel_Matrix_RAID" class="mw-redirect" title="Intel Matrix RAID">Matrix RAID controller</a> in their more upmarket motherboards, giving control over 4 devices and an additional 2 SATA connectors, and totalling 6 SATA connections (3&nbsp;Gbit/s each). For backward compatibility one IDE connector able to connect 2 ATA devices (100&nbsp;Mbit/s) is also present.
</p>
<div class="mw-heading mw-heading3"><h3 id="History">History</h3></div>
<p>While hardware RAID controllers have been available for a long time, they initially required expensive <a href="Parallel_SCSI" title="Parallel SCSI">Parallel SCSI</a> hard drives and aimed at the server and high-end computing market. SCSI technology advantages include allowing up to 15 devices on one bus, independent data transfers, <a href="Hot-swapping" class="mw-redirect" title="Hot-swapping">hot-swapping</a>, much higher <a href="MTBF" class="mw-redirect" title="MTBF">MTBF</a>.
</p><p>Around 1997, with the introduction of <a href="Atapi" class="mw-redirect" title="Atapi">ATAPI-4</a> (and thus <a href="UDMA" title="UDMA">Ultra-DMA-Mode</a>, which enabled fast data transfers with less <a href="CPU" class="mw-redirect" title="CPU">CPU</a> utilization) the first ATA RAID controllers were introduced as PCI expansion cards. Those RAID systems made their way to the consumer market, for users wanting the fault-tolerance of RAID without investing in expensive SCSI drives.
</p><p>Fast consumer drives make it possible to build RAID systems at lower cost than with SCSI, but most ATA RAID controllers lack a dedicated buffer or high-performance XOR hardware for parity calculation. As a result, ATA RAID performs relatively poorly compared to most SCSI RAID controllers. Additionally, data safety suffers if there is no <a href="Battery_(electricity)" class="mw-redirect" title="Battery (electricity)">battery</a> backup to finish writes interrupted by a power outage.
</p>
<div class="mw-heading mw-heading2"><h2 id="OS_support">OS support</h2></div>
<p>Because the hardware RAID controllers present assembled <a href="RAID" title="RAID">RAID</a> volumes, <a href="Operating_system" title="Operating system">operating systems</a> aren't strictly required to implement the complete configuration and assembly for each controller. Very often only the basic features are implemented in the <a href="Open-source_software" title="Open-source software">open-source software</a> driver, with extended features being provided through <a href="Binary_blob" title="Binary blob">binary blobs</a> directly by the hardware manufacturer.
</p><p>Normally, RAID controllers can be fully configured through card <a href="BIOS" title="BIOS">BIOS</a> before an <a href="Operating_system" title="Operating system">operating system</a> is booted, and after the operating system is booted, <a href="Proprietary_software" title="Proprietary software">proprietary</a> configuration utilities are available from the manufacturer of each controller, because the exact feature set of each controller may be specific to each manufacturer and product.
Unlike the <a href="Network_interface_controller" title="Network interface controller">network interface controllers</a> for <a href="Ethernet" title="Ethernet">Ethernet</a>, which can be usually be configured and serviced entirely through the common operating system paradigms like <a href="Ifconfig" title="Ifconfig">ifconfig</a> in <a href="Unix" title="Unix">Unix</a>, without a need for any third-party tools, each manufacturer of each RAID controller usually provides their own proprietary software tooling for each operating system that they deem to support, ensuring a <a href="Vendor_lock-in" title="Vendor lock-in">vendor lock-in</a>, and contributing to reliability issues.<sup id="cite_ref-lyrics-38_2-0" class="reference"><a href="#cite_note-lyrics-38-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p><p>For example, in <a href="FreeBSD" title="FreeBSD">FreeBSD</a>, in order to access the configuration of <a href="Adaptec" title="Adaptec">Adaptec</a> RAID controllers, users are required to enable <a href="FreeBSD#OS_compatibility_layers" title="FreeBSD">Linux compatibility layer</a>, and use the Linux tooling from Adaptec,<sup id="cite_ref-f-aac_3-0" class="reference"><a href="#cite_note-f-aac-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> potentially compromising the stability, reliability and security of their setup, especially when taking the long term view in mind.<sup id="cite_ref-lyrics-38_2-1" class="reference"><a href="#cite_note-lyrics-38-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> However, this greatly depends on the controller, and whether appropriate hardware documentation is available in order to write a driver, and some controllers do have open-source versions of their configuration utilities, for example, <code>mfiutil</code> and <code>mptutil</code> is available for FreeBSD since FreeBSD 8.0 (2009),<sup id="cite_ref-mfiutil_4-0" class="reference"><a href="#cite_note-mfiutil-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-mptutil_5-0" class="reference"><a href="#cite_note-mptutil-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> as well as <code>mpsutil</code>/<code>mprutil</code> since 2015,<sup id="cite_ref-mpsutil_6-0" class="reference"><a href="#cite_note-mpsutil-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> each supporting only their respective device drivers, this latter fact contributing to <a href="Code_bloat" title="Code bloat">code bloat</a>.
</p><p>Some other operating systems have implemented their own generic frameworks for interfacing with any RAID controller, and provide tools for monitoring RAID volume status, as well as facilitation of drive identification through LED blinking, alarm management, <a href="Hot_spare_disk" class="mw-redirect" title="Hot spare disk">hot spare disk</a> designations and <a href="Data_scrubbing#RAID" title="Data scrubbing">data scrubbing §&nbsp;RAID</a> from within the operating system without having to reboot into card BIOS. For example, this was the approach taken by <a href="OpenBSD" title="OpenBSD">OpenBSD</a> in 2005 with its <a href="Bio(4)" class="mw-redirect" title="Bio(4)">bio(4)</a> <a href="Pseudo-device" class="mw-redirect" title="Pseudo-device">pseudo-device</a> driver and the <a href="Bioctl" title="Bioctl">bioctl</a> utility, which provide volume status, and allow LED/alarm/hotspare control, as well as the sensors (including the <a href="Hw.sensors#drive" title="Hw.sensors">drive sensor</a>) for health monitoring;<sup id="cite_ref-theo-misc-38_7-0" class="reference"><a href="#cite_note-theo-misc-38-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> this approach has subsequently been adopted and extended by <a href="NetBSD" title="NetBSD">NetBSD</a> in 2007 as well.<sup id="cite_ref-sensors-mmath_8-0" class="reference"><a href="#cite_note-sensors-mmath-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>
</p><p>With <a href="Bioctl" title="Bioctl">bioctl</a>, the feature set is intentionally kept to a minimum, so that each controller can be supported by the tool in the same way; the initial configuration of the controller is meant to be performed through card BIOS,<sup id="cite_ref-theo-misc-38_7-1" class="reference"><a href="#cite_note-theo-misc-38-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> but after the initial configuration, all day-to-day monitoring and repair should be possible with unified and generic tools, which is what bioctl is set to accomplish.
</p>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */


.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}


/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}


/* end https://en.wikipedia.org/ */
</style><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://vmtoday.com/2010/03/storage-basics-part-v-controllers-cache-and-coalescing/">"Storage Basics - Part V: Controllers, Cache and Coalescing"</a>. 23 March 2010.</cite></span>
</li>
<li id="cite_note-lyrics-38-2"><span class="mw-cite-backlink">^ <a href="#cite_ref-lyrics-38_2-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-lyrics-38_2-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.openbsd.org/lyrics.html#38">"3.8: "Hackers of the Lost RAID""</a>. <i>OpenBSD Release Songs</i>. <a href="OpenBSD" title="OpenBSD">OpenBSD</a>. 2005-11-01<span class="reference-accessdate">. Retrieved <span class="nowrap">2019-03-23</span></span>.</cite></span>
</li>
<li id="cite_note-f-aac-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-f-aac_3-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFScott_LongAdaptec,_Inc2000" class="citation web cs1">Scott Long; <a href="Adaptec" title="Adaptec">Adaptec, Inc</a> (2000). <a rel="nofollow" class="external text" href="http://bxr.su/f/share/man/man4/aac.4">"aac(4) — Adaptec AdvancedRAID Controller driver"</a>. <i>BSD Cross Reference</i>. <a href="FreeBSD" title="FreeBSD">FreeBSD</a>.</cite>
<ul><li><cite class="citation book cs1">"aac -- Adaptec AdvancedRAID Controller driver". <a rel="nofollow" class="external text" href="http://mdoc.su/f/aac.4"><i>FreeBSD Manual Pages</i></a>.</cite></li></ul>
</span></li>
<li id="cite_note-mfiutil-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-mfiutil_4-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://bxr.su/f/usr.sbin/mfiutil/">"mfiutil — Utility for managing LSI MegaRAID SAS controllers"</a>. <i>BSD Cross Reference</i>. <a href="FreeBSD" title="FreeBSD">FreeBSD</a>.</cite>
<ul><li><cite class="citation book cs1">"mfiutil -- Utility for managing LSI MegaRAID SAS controllers". <a rel="nofollow" class="external text" href="https://www.freebsd.org/cgi/man.cgi?query=mfiutil&amp;sektion=8"><i>FreeBSD Manual Pages</i></a>.</cite></li></ul>
</span></li>
<li id="cite_note-mptutil-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-mptutil_5-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://bxr.su/f/usr.sbin/mptutil/">"mptutil — Utility for managing LSI Fusion-MPT controllers"</a>. <i>BSD Cross Reference</i>. FreeBSD.</cite>
<ul><li><cite class="citation book cs1">"mptutil -- Utility for managing LSI Fusion-MPT controllers". <a rel="nofollow" class="external text" href="https://www.freebsd.org/cgi/man.cgi?query=mptutil&amp;sektion=8"><i>FreeBSD Manual Pages</i></a>.</cite></li></ul>
</span></li>
<li id="cite_note-mpsutil-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-mpsutil_6-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://bxr.su/f/usr.sbin/mpsutil/">"mpsutil — Utility for managing LSI Fusion-MPT 2/3 controllers"</a>. <i>BSD Cross Reference</i>. FreeBSD.</cite>
<ul><li><cite class="citation book cs1">"mpsutil, mprutil -- Utility for managing LSI Fusion-MPT 2/3 controllers". <a rel="nofollow" class="external text" href="https://www.freebsd.org/cgi/man.cgi?query=mpsutil&amp;sektion=8"><i>FreeBSD Manual Pages</i></a>.</cite></li></ul>
</span></li>
<li id="cite_note-theo-misc-38-7"><span class="mw-cite-backlink">^ <a href="#cite_ref-theo-misc-38_7-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-theo-misc-38_7-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFTheo_de_Raadt2005" class="citation mailinglist cs1"><a href="Theo_de_Raadt" title="Theo de Raadt">Theo de Raadt</a> (2005-09-09). <a rel="nofollow" class="external text" href="https://marc.info/?l=openbsd-misc&amp;m=112630095818062">"RAID management support coming in OpenBSD 3.8"</a>. <i>misc@</i> (Mailing list). OpenBSD.</cite></span>
</li>
<li id="cite_note-sensors-mmath-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-sensors-mmath_8-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFConstantine_A._Murenin2010" class="citation thesis cs1">Constantine A. Murenin (2010-05-21). "1.1. Motivation; 4. Sensor Drivers; 7.1. NetBSD envsys / sysmon". <a rel="nofollow" class="external text" href="http://cnst.su/MMathCS"><i>OpenBSD Hardware Sensors — Environmental Monitoring and Fan Control</i></a> (<a href="Master_of_Mathematics#Canada" title="Master of Mathematics">MMath</a> thesis). <a href="University_of_Waterloo" title="University of Waterloo">University of Waterloo</a>: UWSpace. <a href="Hdl_(identifier)" class="mw-redirect" title="Hdl (identifier)">hdl</a>:<a rel="nofollow" class="external text" href="https://hdl.handle.net/10012%2F5234">10012/5234</a>. Document ID: ab71498b6b1a60ff817b29d56997a418.</cite></span>
</li>
</ol></div></div>
<style data-mw-deduplicate="TemplateStyles:r1239549316">
/* start https://en.wikipedia.org/ */


.mw-parser-output .refbegin{margin-bottom:0.5em}.mw-parser-output .refbegin-hanging-indents>ul{margin-left:0}.mw-parser-output .refbegin-hanging-indents>ul>li{margin-left:0;padding-left:3.2em;text-indent:-3.2em}.mw-parser-output .refbegin-hanging-indents ul,.mw-parser-output .refbegin-hanging-indents ul li{list-style:none}@media(max-width:720px){.mw-parser-output .refbegin-hanging-indents>ul>li{padding-left:1.6em;text-indent:-1.6em}}.mw-parser-output .refbegin-columns{margin-top:0.3em}.mw-parser-output .refbegin-columns ul{margin-top:0}.mw-parser-output .refbegin-columns li{page-break-inside:avoid;break-inside:avoid-column}@media screen{.mw-parser-output .refbegin{font-size:90%}}


/* end https://en.wikipedia.org/ */
</style><div class="refbegin" style="">
<ul><li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20080606085320/http://www.enterprisestorageforum.com/hardware/features/article.php/3351361">Storage Basics: Choosing a RAID Controller</a>, May 7, 2004, By Ben Freeman</li></ul>
</div>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}


/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}


/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="RAID207" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><div id="RAID207" style="font-size:114%;margin:0 4em"><a href="RAID" title="RAID">RAID</a></div></th></tr><tr><td class="navbox-abovebelow" colspan="2"><div><a href="Data_redundancy" title="Data redundancy">Redundant</a> <a href="Disk_array" title="Disk array">array</a> of independent <a href="Hard_disk_drive" title="Hard disk drive">disks</a></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Disk_array" title="Disk array">Disk arrays</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Data_scrubbing#RAID" title="Data scrubbing">Data scrubbing</a></li>
<li><a href="Data_striping" title="Data striping">Data striping</a></li>

<li><a href="Disk_mirroring" title="Disk mirroring">Disk mirroring</a></li>
<li><a href="Parity_drive" title="Parity drive">Parity drive</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="RAID_levels" title="RAID levels">RAID levels</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Standard_RAID_levels" title="Standard RAID levels">Standard</a></li>
<li><a href="Nested_RAID_levels" title="Nested RAID levels">Nested</a></li>
<li><a href="Non-standard_RAID_levels" title="Non-standard RAID levels">Non-standard</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Principles</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Availability" title="Availability">Availability</a>
<ul><li><a href="Fault_tolerance" title="Fault tolerance">Fault tolerance</a></li>
<li><a href="Data_redundancy" title="Data redundancy">Data redundancy</a></li>
<li><a href="Degraded_mode" title="Degraded mode">Degraded mode</a></li>
<li><a href="Failover" title="Failover">Failover</a></li>
<li><a href="Parity_bit" title="Parity bit">Parity bit</a></li>
<li><a href="Replication_(computing)" title="Replication (computing)">Replication</a></li></ul></li>
<li><a href="Scalability" title="Scalability">Scalability</a></li>
<li><a href="Throughput" class="mw-redirect" title="Throughput">Throughput</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Interface_(computing)" title="Interface (computing)">Interfaces</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Bioctl" title="Bioctl">bioctl</a></li>
<li><a href="GEOM" title="GEOM">geom</a></li>
<li><a href="Mdadm" title="Mdadm">mdadm</a></li>
<li><a href="Oracle_ZFS" title="Oracle ZFS">Oracle ZFS</a></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div><a href="Non-RAID_drive_architectures" title="Non-RAID drive architectures">Non-RAID drive architectures</a></div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2024-11-30" href="https://en.wikipedia.org/wiki/?title=Disk_array_controller&amp;oldid=1260377253">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>

</body></html>